/*
 * @Description: 正则表达式
 * @Author: zzj
 * @Date: 2021-09-09 11:26:24
 * @LastEditors: zzj
 * @LastEditTime: 2021-09-09 14:35:52
 */

//如何创建正则表达式
//第一种：构造函数方式
var reg1 = new RegExp("b","g");
//第二种：字面量
var reg2 = /\ba\b/mig;  //一个字符串中是否含有字母b，也可以测试范围[1-5],但只能匹配一个字符        
/*
修饰符：
g的作用：有g表示每次运行接着向后寻找字母，没g表示每次运行一直从头开始寻找字母  全局
i的作用：字母不区分大小写
m的作用：多行查找

边界：
^	匹配输入开始
$  匹配输入结尾
\b匹配一个零宽单词边界   两边有单词边界    单词边界:空格，逗号等
\B  匹配一个零宽非单词边界  两边都不能有单词边界
*/
var str = "ac a ccccccccacca";
var str2 = "xiaoming"  
// console.log(reg2.test(str));
// console.log(reg2.test(str2));
// console.log(reg2.test(str2));
// console.log(reg2.test(str2));

console.log(reg2.exec(str2));  
// console.log(reg2.exec(str2));  
// console.log(reg2.exec(str2));  

console.log(reg2.toString());
//输出含有匹配结果的数组["abc","abc"]
// var arr =[];
// var res = true; //代表还有结果
// while(res != null){
//     res = reg2.exec(str2);
//     if(res !=null)
//     arr.push(res[0]);
// }
// console.log(arr)

// console.log(reg2.global) //正则表达式是否带有修饰符g
// console.log(reg2.ignoreCase) //正则表达式是否带有修饰符i
// console.log(reg2.multiline) //正则表达式是否带有修饰符m
// console.log(reg2.lastIndex) //下一次检索的开始位置
// console.log(reg2.source) //正则表达式文本
// console.log(reg2.flags) //返回所有的修饰符

//测试是否有效
if(reg2.test(str)){   //test() 正则的方法  用于测试是否有效
    console.log("yes");
}else{
    console.log("no");
}